exports.keys = 'my-secret';
exports.cluster = {
    listen: {
        port: 7001,
        hostname: '0.0.0.0'
    }
};
exports.mysql = {
    client: {
        // host
        host: 'localhost',
        // 端口号
        port: '3306',
        // 用户名
        user: 'root',
        // 密码
        password: '123456',
        // 数据库名
        database: 'blog',
    },
    // 是否加载到 app 上，默认开启
    app: true,
    // 是否加载到 agent 上，默认关闭
    agent: false,
};
exports.onerror = {
    all(err, ctx) {
        // 在此处定义针对所有响应类型的错误处理方法
        // 注意，定义了 config.all 之后，其他错误处理方法不会再生效
        ctx.body = 'error';
        ctx.status = 500;
    },
    html(err, ctx) {
        // html hander
        ctx.body = '<h3>error</h3>';
        ctx.status = 500;
    },
    json(err, ctx) {
        // json hander
        ctx.body = { message: 'error' };
        ctx.status = 500;
    }, 
    jsonp(err, ctx) {
        // 一般来说，不需要特殊针对 jsonp 进行错误定义，jsonp 的错误处理会自动调用 json 错误处理，并包装成 jsonp 的响应格式
    },
};

exports.jwt = {
    enable: true,
    secret: 'i-hate-evergrande',
    expiresIn: 60 * 60
};

exports.security = {
    csrf: {
        enable: false,
        ignoreJSON: true,
        // 为指定的URL忽略csrf验证
        ignore: ctx => {
            if ( ctx.request.url === '/user/uploadAvatar') {
                return true;
            }
            return false;
        }
    },
    // 白名单
    domainWhiteList: [ '*' ]
}

exports.session = {
    key: 'SESSION_ID',
    maxAge: 8640000,
    httpOnly: true,
    encrypt: true,
    renew: true
}

exports.cors = {
    origin: '*',
    allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS',
}

exports.redis = {
    client: {
        port: 6379,
        host: '127.0.0.1',
        password: 'auth',
        db: 0
    }
}

exports.multipart = {
    // 允许上传的图片格式
    whitelist: ['.png', '.jpg', '.jpeg'],
    // 文件允许大小
    fileSize: '50mb',
    // 上传字段的数量
    fields: '50'
}